package com.dragon.modules.yuegou.query.member;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dragon.modules.yuegou.entity.member.PtTurntableExtractPrizeEntity;
import com.dragon.modules.yuegou.mybatis.Condition;
import com.dragon.modules.yuegou.mybatis.Query;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;

/**
 * 大转盘奖品抽取记录 动态查询条件
 * 
 * @author pbuilder generated
 * @date 2021-12-21 15:52:36
 * @version 2.0
 */
@JsonInclude(Include.NON_NULL)
public class PtTurntableExtractPrizeQuery extends PtTurntableExtractPrizeEntity implements Query<PtTurntableExtractPrizeEntity> {

    /** id查询条件 */
	@JsonUnwrapped(prefix = "id")
	private Condition<String> idCondition;

    /** 商圈id查询条件 */
	@JsonUnwrapped(prefix = "busdId")
	private Condition<String> busdIdCondition;

    /** 大转盘ID查询条件 */
	@JsonUnwrapped(prefix = "turntableId")
	private Condition<String> turntableIdCondition;

    /** 页面标识查询条件 */
	@JsonUnwrapped(prefix = "pageCode")
	private Condition<String> pageCodeCondition;

    /** 奖品ID查询条件 */
	@JsonUnwrapped(prefix = "prizeId")
	private Condition<String> prizeIdCondition;

    /** 会员ID查询条件 */
	@JsonUnwrapped(prefix = "memberId")
	private Condition<String> memberIdCondition;

    /** 会员名称查询条件 */
	@JsonUnwrapped(prefix = "memberName")
	private Condition<String> memberNameCondition;

    /** 消耗积分数量查询条件 */
	@JsonUnwrapped(prefix = "consumePoint")
	private Condition<Integer> consumePointCondition;

    /** 是否中奖查询条件 */
	@JsonUnwrapped(prefix = "gainPrize")
	private Condition<Boolean> gainPrizeCondition;

    /** 中奖商品ID查询条件 */
	@JsonUnwrapped(prefix = "goodsId")
	private Condition<String> goodsIdCondition;

    /** 商品名称查询条件 */
	@JsonUnwrapped(prefix = "goodsName")
	private Condition<String> goodsNameCondition;

    /** 订单ID查询条件 */
	@JsonUnwrapped(prefix = "orderId")
	private Condition<String> orderIdCondition;

    /** 领取状态查询条件 */
	@JsonUnwrapped(prefix = "receiveStatus")
	private Condition<Boolean> receiveStatusCondition;

    /** 获取时间/创建时间查询条件 */
	@JsonUnwrapped(prefix = "createdTime")
	private Condition<LocalDateTime> createdTimeCondition;

    /** 查询条件 */
	@JsonUnwrapped(prefix = "createdBy")
	private Condition<String> createdByCondition;

    /** 查询条件 */
	@JsonUnwrapped(prefix = "modifiedTime")
	private Condition<LocalDateTime> modifiedTimeCondition;

    /** 查询条件 */
	@JsonUnwrapped(prefix = "modifiedBy")
	private Condition<String> modifiedByCondition;

    /** 删除 0-未删除；1-已删除查询条件 */
	@JsonUnwrapped(prefix = "del")
	private Condition<Boolean> delCondition;

    /** 查询条件 */
	@JsonUnwrapped(prefix = "delTime")
	private Condition<LocalDateTime> delTimeCondition;

    /** 查询条件 */
	@JsonUnwrapped(prefix = "delBy")
	private Condition<String> delByCondition;

	@ApiModelProperty("memberMobile")
	private String memberMobile;

	@ApiModelProperty("是否领取")
	private Integer receive;

	@ApiModelProperty("是否中奖")
	private Integer gainP;

	public String getMemberMobile() {
		return memberMobile;
	}

	public void setMemberMobile(String memberMobile) {
		this.memberMobile = memberMobile;
	}

	public Integer getReceive() {
		return receive;
	}

	public void setReceive(Integer receive) {
		this.receive = receive;
	}

	public Integer getGainP() {
		return gainP;
	}

	public void setGainP(Integer gainP) {
		this.gainP = gainP;
	}

	/**
	 * 构造一个查询条件对象
	 */
	public PtTurntableExtractPrizeQuery() {
		super();
	}

	/**
	 * 依据实体对象构造一个查询条件对象
	 * 
	 * @param entity 实体对象
	 */
	public PtTurntableExtractPrizeQuery(PtTurntableExtractPrizeEntity entity) {
		super(entity);
	}

	/**
	 * 依据其它查询条件对象的信息构造一个查询条件对象
	 * 
	 * @param other 查询条件对象
	 */
	public PtTurntableExtractPrizeQuery(PtTurntableExtractPrizeQuery other) {
		super(other);
		if (other.idCondition != null) {
			this.idCondition = other.idCondition.copy();
		}
		if (other.busdIdCondition != null) {
			this.busdIdCondition = other.busdIdCondition.copy();
		}
		if (other.turntableIdCondition != null) {
			this.turntableIdCondition = other.turntableIdCondition.copy();
		}
		if (other.pageCodeCondition != null) {
			this.pageCodeCondition = other.pageCodeCondition.copy();
		}
		if (other.prizeIdCondition != null) {
			this.prizeIdCondition = other.prizeIdCondition.copy();
		}
		if (other.memberIdCondition != null) {
			this.memberIdCondition = other.memberIdCondition.copy();
		}
		if (other.memberNameCondition != null) {
			this.memberNameCondition = other.memberNameCondition.copy();
		}
		if (other.consumePointCondition != null) {
			this.consumePointCondition = other.consumePointCondition.copy();
		}
		if (other.gainPrizeCondition != null) {
			this.gainPrizeCondition = other.gainPrizeCondition.copy();
		}
		if (other.goodsIdCondition != null) {
			this.goodsIdCondition = other.goodsIdCondition.copy();
		}
		if (other.goodsNameCondition != null) {
			this.goodsNameCondition = other.goodsNameCondition.copy();
		}
		if (other.orderIdCondition != null) {
			this.orderIdCondition = other.orderIdCondition.copy();
		}
		if (other.receiveStatusCondition != null) {
			this.receiveStatusCondition = other.receiveStatusCondition.copy();
		}
		if (other.createdTimeCondition != null) {
			this.createdTimeCondition = other.createdTimeCondition.copy();
		}
		this.setOther(other);
	}

	private void setOther(PtTurntableExtractPrizeQuery other){
		if(other.createdByCondition != null) {
			this.createdByCondition = other.createdByCondition.copy();
		}
		if(other.modifiedTimeCondition != null) {
			this.modifiedTimeCondition = other.modifiedTimeCondition.copy();
		}
		if(other.modifiedByCondition != null) {
			this.modifiedByCondition = other.modifiedByCondition.copy();
		}
		if(other.delCondition != null) {
			this.delCondition = other.delCondition.copy();
		}
		if(other.delTimeCondition != null) {
			this.delTimeCondition = other.delTimeCondition.copy();
		}
		if(other.delByCondition != null) {
			this.delByCondition = other.delByCondition.copy();
		}
	}

	@Override
	public QueryWrapper<PtTurntableExtractPrizeEntity> toQueryWrapper() {
		QueryWrapper<PtTurntableExtractPrizeEntity> wrapper = new QueryWrapper<>(this);
		if (idCondition != null) {
			idCondition.toWrapper(wrapper, COL_ID);
		}
		if (busdIdCondition != null) {
			busdIdCondition.toWrapper(wrapper, COL_BUSD_ID);
		}
		if (turntableIdCondition != null) {
			turntableIdCondition.toWrapper(wrapper, COL_TURNTABLE_ID);
		}
		if (pageCodeCondition != null) {
			pageCodeCondition.toWrapper(wrapper, COL_PAGE_CODE);
		}
		if (prizeIdCondition != null) {
			prizeIdCondition.toWrapper(wrapper, COL_PRIZE_ID);
		}
		if (memberIdCondition != null) {
			memberIdCondition.toWrapper(wrapper, COL_MEMBER_ID);
		}
		if (memberNameCondition != null) {
			memberNameCondition.toWrapper(wrapper, COL_MEMBER_NAME);
		}
		if (consumePointCondition != null) {
			consumePointCondition.toWrapper(wrapper, COL_CONSUME_POINT);
		}
		if (gainPrizeCondition != null) {
			gainPrizeCondition.toWrapper(wrapper, COL_GAIN_PRIZE);
		}
		if (goodsIdCondition != null) {
			goodsIdCondition.toWrapper(wrapper, COL_GOODS_ID);
		}
		if (goodsNameCondition != null) {
			goodsNameCondition.toWrapper(wrapper, COL_GOODS_NAME);
		}
		if (orderIdCondition != null) {
			orderIdCondition.toWrapper(wrapper, COL_ORDER_ID);
		}
		if (receiveStatusCondition != null) {
			receiveStatusCondition.toWrapper(wrapper, COL_RECEIVE_STATUS);
		}
		if (createdTimeCondition != null) {
			createdTimeCondition.toWrapper(wrapper, COL_CREATED_TIME);
		}
		return getQueryWrapper(wrapper);
	}

	private QueryWrapper<PtTurntableExtractPrizeEntity> getQueryWrapper(QueryWrapper<PtTurntableExtractPrizeEntity> wrapper){

		if (createdByCondition != null) {
			createdByCondition.toWrapper(wrapper, COL_CREATED_BY);
		}
		if (modifiedTimeCondition != null) {
			modifiedTimeCondition.toWrapper(wrapper, COL_MODIFIED_TIME);
		}
		if (modifiedByCondition != null) {
			modifiedByCondition.toWrapper(wrapper, COL_MODIFIED_BY);
		}
		if (delCondition != null) {
			delCondition.toWrapper(wrapper, COL_DEL);
		}
		if (delTimeCondition != null) {
			delTimeCondition.toWrapper(wrapper, COL_DEL_TIME);
		}
		if (delByCondition != null) {
			delByCondition.toWrapper(wrapper, COL_DEL_BY);
		}
		return wrapper;
	}

	/**
	 * 构造并返回id查询条件
	 * 
	 * @return idCondition id查询条件
	 */
	public Condition<String> id() {
		this.idCondition = new Condition<>();
		return this.idCondition;
	}
	
	/**
	 * 获取id查询条件
	 * 
	 * @return idCondition id查询条件
	 */
	public Condition<String> getIdCondition() {
		return idCondition;
	}

	/**
	 * 设置id查询条件
	 * 
	 * @param idCondition id查询条件
	 */
	public void setIdCondition(Condition<String> idCondition) {
		this.idCondition = idCondition;
	}

	/**
	 * 构造并返回商圈id查询条件
	 * 
	 * @return busdIdCondition 商圈id查询条件
	 */
	public Condition<String> busdId() {
		this.busdIdCondition = new Condition<>();
		return this.busdIdCondition;
	}
	
	/**
	 * 获取商圈id查询条件
	 * 
	 * @return busdIdCondition 商圈id查询条件
	 */
	public Condition<String> getBusdIdCondition() {
		return busdIdCondition;
	}

	/**
	 * 设置商圈id查询条件
	 * 
	 * @param busdIdCondition 商圈id查询条件
	 */
	public void setBusdIdCondition(Condition<String> busdIdCondition) {
		this.busdIdCondition = busdIdCondition;
	}

	/**
	 * 构造并返回大转盘ID查询条件
	 * 
	 * @return turntableIdCondition 大转盘ID查询条件
	 */
	public Condition<String> turntableId() {
		this.turntableIdCondition = new Condition<>();
		return this.turntableIdCondition;
	}
	
	/**
	 * 获取大转盘ID查询条件
	 * 
	 * @return turntableIdCondition 大转盘ID查询条件
	 */
	public Condition<String> getTurntableIdCondition() {
		return turntableIdCondition;
	}

	/**
	 * 设置大转盘ID查询条件
	 * 
	 * @param turntableIdCondition 大转盘ID查询条件
	 */
	public void setTurntableIdCondition(Condition<String> turntableIdCondition) {
		this.turntableIdCondition = turntableIdCondition;
	}

	/**
	 * 构造并返回页面标识查询条件
	 * 
	 * @return pageCodeCondition 页面标识查询条件
	 */
	public Condition<String> pageCode() {
		this.pageCodeCondition = new Condition<>();
		return this.pageCodeCondition;
	}
	
	/**
	 * 获取页面标识查询条件
	 * 
	 * @return pageCodeCondition 页面标识查询条件
	 */
	public Condition<String> getPageCodeCondition() {
		return pageCodeCondition;
	}

	/**
	 * 设置页面标识查询条件
	 * 
	 * @param pageCodeCondition 页面标识查询条件
	 */
	public void setPageCodeCondition(Condition<String> pageCodeCondition) {
		this.pageCodeCondition = pageCodeCondition;
	}

	/**
	 * 构造并返回奖品ID查询条件
	 * 
	 * @return prizeIdCondition 奖品ID查询条件
	 */
	public Condition<String> prizeId() {
		this.prizeIdCondition = new Condition<>();
		return this.prizeIdCondition;
	}
	
	/**
	 * 获取奖品ID查询条件
	 * 
	 * @return prizeIdCondition 奖品ID查询条件
	 */
	public Condition<String> getPrizeIdCondition() {
		return prizeIdCondition;
	}

	/**
	 * 设置奖品ID查询条件
	 * 
	 * @param prizeIdCondition 奖品ID查询条件
	 */
	public void setPrizeIdCondition(Condition<String> prizeIdCondition) {
		this.prizeIdCondition = prizeIdCondition;
	}

	/**
	 * 构造并返回会员ID查询条件
	 * 
	 * @return memberIdCondition 会员ID查询条件
	 */
	public Condition<String> memberId() {
		this.memberIdCondition = new Condition<>();
		return this.memberIdCondition;
	}
	
	/**
	 * 获取会员ID查询条件
	 * 
	 * @return memberIdCondition 会员ID查询条件
	 */
	public Condition<String> getMemberIdCondition() {
		return memberIdCondition;
	}

	/**
	 * 设置会员ID查询条件
	 * 
	 * @param memberIdCondition 会员ID查询条件
	 */
	public void setMemberIdCondition(Condition<String> memberIdCondition) {
		this.memberIdCondition = memberIdCondition;
	}

	/**
	 * 构造并返回会员名称查询条件
	 * 
	 * @return memberNameCondition 会员名称查询条件
	 */
	public Condition<String> memberName() {
		this.memberNameCondition = new Condition<>();
		return this.memberNameCondition;
	}
	
	/**
	 * 获取会员名称查询条件
	 * 
	 * @return memberNameCondition 会员名称查询条件
	 */
	public Condition<String> getMemberNameCondition() {
		return memberNameCondition;
	}

	/**
	 * 设置会员名称查询条件
	 * 
	 * @param memberNameCondition 会员名称查询条件
	 */
	public void setMemberNameCondition(Condition<String> memberNameCondition) {
		this.memberNameCondition = memberNameCondition;
	}

	/**
	 * 构造并返回消耗积分数量查询条件
	 * 
	 * @return consumePointCondition 消耗积分数量查询条件
	 */
	public Condition<Integer> consumePoint() {
		this.consumePointCondition = new Condition<>();
		return this.consumePointCondition;
	}
	
	/**
	 * 获取消耗积分数量查询条件
	 * 
	 * @return consumePointCondition 消耗积分数量查询条件
	 */
	public Condition<Integer> getConsumePointCondition() {
		return consumePointCondition;
	}

	/**
	 * 设置消耗积分数量查询条件
	 * 
	 * @param consumePointCondition 消耗积分数量查询条件
	 */
	public void setConsumePointCondition(Condition<Integer> consumePointCondition) {
		this.consumePointCondition = consumePointCondition;
	}

	/**
	 * 构造并返回是否中奖查询条件
	 * 
	 * @return gainPrizeCondition 是否中奖查询条件
	 */
	public Condition<Boolean> gainPrize() {
		this.gainPrizeCondition = new Condition<>();
		return this.gainPrizeCondition;
	}
	
	/**
	 * 获取是否中奖查询条件
	 * 
	 * @return gainPrizeCondition 是否中奖查询条件
	 */
	public Condition<Boolean> getGainPrizeCondition() {
		return gainPrizeCondition;
	}

	/**
	 * 设置是否中奖查询条件
	 * 
	 * @param gainPrizeCondition 是否中奖查询条件
	 */
	public void setGainPrizeCondition(Condition<Boolean> gainPrizeCondition) {
		this.gainPrizeCondition = gainPrizeCondition;
	}

	/**
	 * 构造并返回中奖商品ID查询条件
	 * 
	 * @return goodsIdCondition 中奖商品ID查询条件
	 */
	public Condition<String> goodsId() {
		this.goodsIdCondition = new Condition<>();
		return this.goodsIdCondition;
	}
	
	/**
	 * 获取中奖商品ID查询条件
	 * 
	 * @return goodsIdCondition 中奖商品ID查询条件
	 */
	public Condition<String> getGoodsIdCondition() {
		return goodsIdCondition;
	}

	/**
	 * 设置中奖商品ID查询条件
	 * 
	 * @param goodsIdCondition 中奖商品ID查询条件
	 */
	public void setGoodsIdCondition(Condition<String> goodsIdCondition) {
		this.goodsIdCondition = goodsIdCondition;
	}

	/**
	 * 构造并返回商品名称查询条件
	 * 
	 * @return goodsNameCondition 商品名称查询条件
	 */
	public Condition<String> goodsName() {
		this.goodsNameCondition = new Condition<>();
		return this.goodsNameCondition;
	}
	
	/**
	 * 获取商品名称查询条件
	 * 
	 * @return goodsNameCondition 商品名称查询条件
	 */
	public Condition<String> getGoodsNameCondition() {
		return goodsNameCondition;
	}

	/**
	 * 设置商品名称查询条件
	 * 
	 * @param goodsNameCondition 商品名称查询条件
	 */
	public void setGoodsNameCondition(Condition<String> goodsNameCondition) {
		this.goodsNameCondition = goodsNameCondition;
	}

	/**
	 * 构造并返回订单ID查询条件
	 * 
	 * @return orderIdCondition 订单ID查询条件
	 */
	public Condition<String> orderId() {
		this.orderIdCondition = new Condition<>();
		return this.orderIdCondition;
	}
	
	/**
	 * 获取订单ID查询条件
	 * 
	 * @return orderIdCondition 订单ID查询条件
	 */
	public Condition<String> getOrderIdCondition() {
		return orderIdCondition;
	}

	/**
	 * 设置订单ID查询条件
	 * 
	 * @param orderIdCondition 订单ID查询条件
	 */
	public void setOrderIdCondition(Condition<String> orderIdCondition) {
		this.orderIdCondition = orderIdCondition;
	}

	/**
	 * 构造并返回领取状态查询条件
	 * 
	 * @return receiveStatusCondition 领取状态查询条件
	 */
	public Condition<Boolean> receiveStatus() {
		this.receiveStatusCondition = new Condition<>();
		return this.receiveStatusCondition;
	}
	
	/**
	 * 获取领取状态查询条件
	 * 
	 * @return receiveStatusCondition 领取状态查询条件
	 */
	public Condition<Boolean> getReceiveStatusCondition() {
		return receiveStatusCondition;
	}

	/**
	 * 设置领取状态查询条件
	 * 
	 * @param receiveStatusCondition 领取状态查询条件
	 */
	public void setReceiveStatusCondition(Condition<Boolean> receiveStatusCondition) {
		this.receiveStatusCondition = receiveStatusCondition;
	}

	/**
	 * 构造并返回获取时间/创建时间查询条件
	 * 
	 * @return createdTimeCondition 获取时间/创建时间查询条件
	 */
	public Condition<LocalDateTime> createdTime() {
		this.createdTimeCondition = new Condition<>();
		return this.createdTimeCondition;
	}
	
	/**
	 * 获取获取时间/创建时间查询条件
	 * 
	 * @return createdTimeCondition 获取时间/创建时间查询条件
	 */
	public Condition<LocalDateTime> getCreatedTimeCondition() {
		return createdTimeCondition;
	}

	/**
	 * 设置获取时间/创建时间查询条件
	 * 
	 * @param createdTimeCondition 获取时间/创建时间查询条件
	 */
	public void setCreatedTimeCondition(Condition<LocalDateTime> createdTimeCondition) {
		this.createdTimeCondition = createdTimeCondition;
	}

	/**
	 * 构造并返回查询条件
	 * 
	 * @return createdByCondition 查询条件
	 */
	public Condition<String> createdBy() {
		this.createdByCondition = new Condition<>();
		return this.createdByCondition;
	}
	
	/**
	 * 获取查询条件
	 * 
	 * @return createdByCondition 查询条件
	 */
	public Condition<String> getCreatedByCondition() {
		return createdByCondition;
	}

	/**
	 * 设置查询条件
	 * 
	 * @param createdByCondition 查询条件
	 */
	public void setCreatedByCondition(Condition<String> createdByCondition) {
		this.createdByCondition = createdByCondition;
	}

	/**
	 * 构造并返回查询条件
	 * 
	 * @return modifiedTimeCondition 查询条件
	 */
	public Condition<LocalDateTime> modifiedTime() {
		this.modifiedTimeCondition = new Condition<>();
		return this.modifiedTimeCondition;
	}
	
	/**
	 * 获取查询条件
	 * 
	 * @return modifiedTimeCondition 查询条件
	 */
	public Condition<LocalDateTime> getModifiedTimeCondition() {
		return modifiedTimeCondition;
	}

	/**
	 * 设置查询条件
	 * 
	 * @param modifiedTimeCondition 查询条件
	 */
	public void setModifiedTimeCondition(Condition<LocalDateTime> modifiedTimeCondition) {
		this.modifiedTimeCondition = modifiedTimeCondition;
	}

	/**
	 * 构造并返回查询条件
	 * 
	 * @return modifiedByCondition 查询条件
	 */
	public Condition<String> modifiedBy() {
		this.modifiedByCondition = new Condition<>();
		return this.modifiedByCondition;
	}
	
	/**
	 * 获取查询条件
	 * 
	 * @return modifiedByCondition 查询条件
	 */
	public Condition<String> getModifiedByCondition() {
		return modifiedByCondition;
	}

	/**
	 * 设置查询条件
	 * 
	 * @param modifiedByCondition 查询条件
	 */
	public void setModifiedByCondition(Condition<String> modifiedByCondition) {
		this.modifiedByCondition = modifiedByCondition;
	}

	/**
	 * 构造并返回删除 0-未删除；1-已删除查询条件
	 * 
	 * @return delCondition 删除 0-未删除；1-已删除查询条件
	 */
	public Condition<Boolean> del() {
		this.delCondition = new Condition<>();
		return this.delCondition;
	}
	
	/**
	 * 获取删除 0-未删除；1-已删除查询条件
	 * 
	 * @return delCondition 删除 0-未删除；1-已删除查询条件
	 */
	public Condition<Boolean> getDelCondition() {
		return delCondition;
	}

	/**
	 * 设置删除 0-未删除；1-已删除查询条件
	 * 
	 * @param delCondition 删除 0-未删除；1-已删除查询条件
	 */
	public void setDelCondition(Condition<Boolean> delCondition) {
		this.delCondition = delCondition;
	}

	/**
	 * 构造并返回查询条件
	 * 
	 * @return delTimeCondition 查询条件
	 */
	public Condition<LocalDateTime> delTime() {
		this.delTimeCondition = new Condition<>();
		return this.delTimeCondition;
	}
	
	/**
	 * 获取查询条件
	 * 
	 * @return delTimeCondition 查询条件
	 */
	public Condition<LocalDateTime> getDelTimeCondition() {
		return delTimeCondition;
	}

	/**
	 * 设置查询条件
	 * 
	 * @param delTimeCondition 查询条件
	 */
	public void setDelTimeCondition(Condition<LocalDateTime> delTimeCondition) {
		this.delTimeCondition = delTimeCondition;
	}

	/**
	 * 构造并返回查询条件
	 * 
	 * @return delByCondition 查询条件
	 */
	public Condition<String> delBy() {
		this.delByCondition = new Condition<>();
		return this.delByCondition;
	}
	
	/**
	 * 获取查询条件
	 * 
	 * @return delByCondition 查询条件
	 */
	public Condition<String> getDelByCondition() {
		return delByCondition;
	}

	/**
	 * 设置查询条件
	 * 
	 * @param delByCondition 查询条件
	 */
	public void setDelByCondition(Condition<String> delByCondition) {
		this.delByCondition = delByCondition;
	}

}
